package br.com.scv.bean;

import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import br.com.scv.exception.RNException;
import br.com.scv.logic.VeiculoLogic;
import br.com.scv.logicImp.VeiculoLogicImp;
import br.com.scv.model.Veiculo;

public class VeiculoBean {
	
	private Veiculo veiculo;
	private List<Veiculo> veiculos;
	
	public VeiculoBean(){
		veiculo = new Veiculo();
	}

	public Veiculo getVeiculo() {
		return veiculo;
	}

	public void setVeiculo(Veiculo veiculo) {
		this.veiculo = veiculo;
	}

	public List<Veiculo> getVeiculos() {
		VeiculoLogic logic = new VeiculoLogicImp();
		List<Veiculo> veiculos = new ArrayList<Veiculo>();
		try {
			veiculos = logic.listar();
		} catch (RNException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return veiculos;
	}

	public void setVeiculos(List<Veiculo> veiculos) {
		this.veiculos = veiculos;
	}
	
	public void salvar(){
		FacesMessage msg = new FacesMessage();
		FacesContext context = FacesContext.getCurrentInstance();
		String mensagem = null;
		try {
			VeiculoLogic logic = new VeiculoLogicImp();
			logic.salvar(veiculo);
			veiculo = new Veiculo();	
			msg.setSeverity(FacesMessage.SEVERITY_INFO);
			mensagem = "Veiculo cadastrado com sucesso";
		} catch (RNException e) {
			msg.setSeverity(FacesMessage.SEVERITY_ERROR);
			mensagem = e.getMessage();
		} finally {
			msg.setSummary(mensagem);
			context.addMessage(null, msg);
		}
		
	}
	
		public void editar(){
				
				try {
					VeiculoLogic logic = new VeiculoLogicImp();
					logic.editar(veiculo);
					veiculo = new Veiculo();
				} catch (RNException e) {
					// TODO Auto-generated catch block
				}
			}

		public void cancelaEditar(){
			veiculo = new Veiculo();
		}
		
		public void excluir(){
			
			try {
				VeiculoLogic logic = new VeiculoLogicImp();
				logic.excluir(veiculo);
				veiculo = new Veiculo();
			} catch (RNException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

	
}
